package array;



/*数组的定义及排序*/
public class arrays {
    public static void main(String[] args) {
        /*4. 数组(上)：
  ○  是一种引用数据类型
  ○  相同数据类型元素的集合
  ○  定义：*/
//声明整型数组a，包含5个元素，每个元素都是int类型，默认值为0
        int[] a = new int[5];
        //声明浮点型数组d，包含10个元素，每个元素都是double类型，默认值为0.0
        double[] d = new double[10];
        //声明布尔型数组b，包含26个元素，每个元素都是boolean类型，默认值为false
        boolean[] b = new boolean[26];
//    初始化数组中的元素
        int[] arr1 = new int[3]; //0,0,0
        int[] arr2 = {2, 5, 8}; //2,5,8
        int[] arr3 = new int[]{2, 5, 8}; //2,5,8
        int[] arrs;
        //arr4 = {2,5,8}; //编译错误，此方式只能声明同时初始化
        arrs = new int[]{2, 5, 8}; //正确

    /*  访问：
      通过(数组名.length)可以获取数组的长度(元素个数) */
        int[] arr = new int[3];
        System.out.println("数组的长度:" + arr.length); //3
        /*通过下标/索引来访问元素，下标从0开始，最大到(数组的长度-1) */
        int[] arrz = new int[3];
        System.out.println("数组的长度:" + arrz.length); //3
        System.out.println(arrz[0]); //0，输出第1个元素的值
        arrz[0] = 100; //给第1个元素赋值为100
        arrz[1] = 200; //给第2个元素赋值为200
        arrz[2] = 300; //给第3个元素赋值为300
//arr[3] = 400; //运行时会发生数组下标越界异常
        System.out.println(arr[arrz.length - 1]); //300，输出最后一个元素的值
        /*遍历/迭代：从头到尾挨个走一遍 */
        int[] arr0 = new int[10];
        for (int i = 0; i < arr0.length; i++) { //遍历arr数组
            arr0[i] = (int) (Math.random() * 100); //给每个元素赋值为0到99的随机数
            System.out.println(arr0[i]); //输出每个元素的值
        }

    }
}


